#!/usr/bin/env node
// 告诉操作系统我执行自定义命令的时候 帮我去使用 node 执行这个文件
import { program } from "commander"
import inquirer from "inquirer"
import fs from 'node:fs'
import { checkPath, downloadTemp } from "./utils.js"


console.log('xw-cli')

// fs.readFile('./package.json', { encoding: "utf-8" }, (err, data) => {
//     if (err) {
//         return console.log(err)
//     }
//     res = JSON.parse(data)

// })
const json = fs.readFileSync('./package.json')
let res = JSON.parse(json)
program.version(res.version)
program.command('create <projectName>').alias('c').description('创建项目').action((projectName) => {
    console.log(projectName)
    inquirer.prompt([
        {
            type: "input",  // 输入 
            name: "projectName",  // 返回值的 key
            message: "请输入项目名称",  // 描述
            default: projectName  // 默认值
        }, {
            type: 'confirm',
            name: "isTs",  // 返回值的 key
            message: "是否选用typescript模板",  // 描述
            default: true  // 默认值
        }
    ]).then(res => {
        if (checkPath(res.projectName)) {
            console.log('文件夹已存在')
            return
        }
        if (res.isTs) {
            downloadTemp('ts', res.projectName).catch(e => {
                console.log('e', e)
            })
        } else {
            downloadTemp('js', res.projectName).catch(e => {
                console.log('e', e)
            })
        }
        console.log(res)
    })
})













program.parse(process.argv)